As computing systems have increased in complexity, businesses have increasingly turned to artificial intelligence (AI) systems to provide services to employees and consumers. With proper training, AI systems can automate many of the tasks that were previously performed by teams of experts and perform these tasks at levels of sophistication, and with the benefit of insights, unattainable by humans. Key to the success of an AI system, however, is the ability of the system to find meaningfully complex patterns, which humans cannot identify, in a stream of input data. To identify patterns, an AI system is typically trained with a known dataset that exhibits the desired characteristics of the patterns to be detected. When building a dataset for training, the AI system designer must consider a number of incompatible design parameters. If the training dataset is too repetitive, the AI system can be too narrowly trained and may miss the detection of patterns that stray too far from those in the training dataset. If the training dataset is too small or focused, however, the AI system may do a poor job of detecting desired patterns and not reach a desired accuracy of detection. Constructing the right dataset for training can therefore involve a significant amount of trial-and-error by the AI system designer. Constructing training sets using trial-and-error is time consuming, costly, and ultimately frustrating to system designers. As such, a better method of generating training datasets of desired scope would therefore be beneficial to improving the functionality of AI systems.